fixed regexp not properly escape windows backslash in path #17690
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Suddenly, my CLI stopped working when provided a file path on windows in
npx playwright test c:\foo\bar\123
. I tracked it down, that the cli runner forces a path to become a regex, if a string is given. But, for whatever reason (I don't see any relevant change here since a long time), this stopped working. If a path contains a backslash (so on windows), the regex never match, because a backslash need to be double escaped. Especially when you have number as filename in your path, it get's weird. Example:c:\foo\bar\3rdparty
will becomec:\foo\bar\x03rdparty
in the regex, without escaping.This change fix this behaviour.
Also this works when providing already escaped backslashes in path.
Here is the regex test for it: https://regex101.com/r/W5QO7Q/2
I don't see why this has ever worked before, but maybe a TS compiler change or a NodeJs change in a recent version (i am on 16.17.0 now) caused this regex to no longer work.